#ifndef CARETAKER_H_
#define CARETAKER_H_

#include <list>

class Memento;

/*
 * CareTaker is the class which is used to
 * save and restore the memento of Employee.
 */

class CareTaker
{
public:
	CareTaker(void);
	~CareTaker(void);

public:
	void pushMemento(Memento*);
	Memento* popMemento();

	void clearMemento();
	void clearUnusedMemento();

private:
	std::list<Memento*> m_list;
	std::list<Memento*> m_listUnused;
};

#endif // CARETAKER_H_
